此篇要介紹兩個使用率也蠻高的Step,[Transform]Value Mapper與[Transform]Sort rows
經常使用的的情況就類似性別的男女要轉換成10或是FM,提供一個代碼對照表,讓符合的文字轉換成另外指定的代碼,經常使用於存入資料庫之前的資料轉換
可指定欄位進行升冪或降冪
A、B、O、AB將轉換成1、2、3、4
請新增Value Mapper並建立Hop
建立對應規則
血型欄位已變成指定的代碼
接下來要針對年齡來進行排序,請新增Sort rows並建立Hop
選擇年齡欄位
年齡由小排到大
Modified Java Script Value真的是好物,不過如果過度使用,反而在維護Transformation上會比較困難,如果透過功能各自獨立的Step來處理,各司其職,反而提高了易讀性。
在建立Hop時會出現提示框,請選擇Copy,這樣此Step才會拿到上一個Step的所有資料;如果是選擇Distribute,那上一個Step的資料,會在Value Mapper與Modified Java Script Value之間輪流傳遞,也就是說Excel Step總共有三筆資料,往後傳遞資料時,Value Mapper只會拿到2筆資料,而Modified Java Script Value只會拿到1筆資料,兩個Step加起來就拿到3筆資料
使用javascript自己寫代碼的判斷邏輯
var 血型;
if(血型=="A"){
血型="1";
}else if(血型=="B"){
血型="2";
}else if(血型=="O"){
血型="3";
}else if(血型=="AB"){
血型="4";
}
一樣完成了數值對應。下圖的橘色圈圈中的icon則是代表Hop是使用Copy的方式在傳遞資料
這幾篇都是比較著重在資料的基本處理,下一篇會介紹如何將處理完畢的資料進行匯出
參考資料:https://anotherreeshu.wordpress.com/2015/01/02/copy-data-and-distribute-data-in-pentaho-data-integration-kettle/